1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to coordinately managing multimedia content, and more particularly, to an apparatus and method for allowing a user to coordinately manage media content possessed by media server devices, which exist in various types at various locations on a Universal Plug and Play (UPnP) network within a home, using a Home Media Content Directory (HMCD) device.
2. Description of the Related Art
Generally, a home network is implemented by a private network based on an Internet Protocol (IP). A variety of machines such as all types of personal computers (PC), intelligent devices, and wireless devices, which are used within a home, are connected and controlled through the home network based on a virtual common computing environment referred to as middleware.
Middleware connects various digital devices in peer-to-peer so that the digital devices communicate with each other. Home Audio/Video Interoperability (HAVI), UPnP, Java intelligent network infra-structure (Jini), Home Wide Web (HWW), etc. have been suggested as middleware.
Particularly, under a computing environment constructed through UPnP middleware, each device is allocated an address by a server according to a Dynamic Host Configuration Protocol (DHCP) or by automatic IP configuration (Auto IP) so that communication between devices and search/inquiry over the devices are performed.
A UPnP network includes a home network device (hereinafter, referred to as a controlled device), which is connected to an IP-based home network and controlled, and a control point, which is a device controlling the controlled device.
FIGS. 1A through 1D illustrate operations in a conventional procedure for control between home network devices. A conventional procedure for control between devices on a UPnP network includes a discovery operation, a description operation, a control operation, and an eventing operation.
FIG. 1A illustrates a discovery operation. The discovery operation can be divided into an advertisement, in which a new controlled device 500 is connected to a home network having a UPnP control point and advertises itself to the other devices on the home network, and a discovery, in which a new control point 510 is connected to the home network and searches for controlled devices that operate on the home network. Through the discovery operation, a control point can search for controlled devices to be controlled.
First, during the advertisement, a new controlled device 500 connected to a network is allocated to a predetermined IP address using a search protocol, i.e., a DHCP, or Auto IP feature according to an addressing process and multicasts an advertisement message to all controlled devices 502, 503 and control points on the network using the allocated address to report a service provided through the new controlled device. Then, a control point that wants to control the new controlled device registers the new controlled device as an object to be controlled in response to the multicast advertisement message.
Second, during the discovery, in a state where controlled devices have been allocated a unique Uniform Resource Locator (URL) through addressing, a new control point 510 connected to a network is allocated to a predetermined IP address using a search protocol, i.e., a DHCP, or Auto IP feature according to an addressing process and multicasts a search message using the allocated IP address according to a search protocol, i.e., a Simple Service Discovery Protocol (SSDP) to identify controlled devices that operate on the network. Then, a controlled device 501 unicasts a response message to the control point 510 that searches for the controlled device in response to the search message. The control point 510 receives the response message and registers the controlled device 501.
FIG. 1B illustrates a description operation in which a control point 520 checks a service description Extensible Markup Language (XML) file or a device description XML file using an IP address of a new controlled device 530, which is obtained during the discovery operation, and analyzes in detail functions of the new controlled device in order to control the controlled device. In other words, a control point that will control a new controlled device requests a device description XML file or a service description XML file from the new controlled device, receives a description XML file (e.g., UPnP description for a device or a UPnP description for a service) from the new controlled device, and parses the received description XML file. After analyzing a device description, the control point parses each service description included in the device description. In other words, the description operation is a process of reading a service template XML provided by each device and analyzing what command a control point can issue for a particular device.
FIG. 1C illustrates a control operation. When a control point 540 provides a particular service through a desired controlled device 550, the control point transmits a control message, i.e., an action request, requesting the particular service defined in a service template to the desired controlled device using a simple object access protocol (SOAP) according to a UPnP device architecture and receives a response message including a result and a variable value, thereby directly controlling the desired controlled device. The control message and the response message are transmitted and received using an IP address of the desired controlled device obtained through addressing and discovery operations and are expressed in XML using the SOAP.
FIG. 1D illustrates an eventing operation of checking an information changed state of a controlled device 560 that has provided a particular service in response to a control command transmitted from a control point 570. In other words, a control point transmits a message, i.e., a subscription request, requesting a subscription to a desired controlled device in order to check an information changed state of the desired controlled device. Then, the desired controlled device transmits an event message, formatted in XML through a Generic Event Notification Architecture (GENA) whenever its internal state is changed, to all of the registered control points in order to report changed information. Each control point receives the event message from the controlled device and updates a description for the controlled device.
FIG. 2 illustrates a configuration of a UPnP AV home network. As shown in FIG. 2, the UPnP AV home network includes media servers 1, 2 providing media content, media renderers 3, 4 playing back media content, and a control point (CP) 5 allowing a user to control the media server and the media renderer. All UPnP actions between the CP and each of the media servers and the media renders are performed using a HyperText Transfer Protocol (HTTP), and streaming of media content from a media server to a media renderer is performed using an out-of-band transfer protocol. Each of UPnP AV devices (i.e., the media servers and the media renderers) can inform the CP of its existence through the home network. The CP can search for desired UPNP AV devices (i.e., a media server and a media renderer) and control the media renderer to play back media content provided by the media server.
FIG. 3 illustrates an architecture among UPnP AV devices and a UPnP AV CP for playback of media content. A media server 6 includes a content directory functioning as a database (DB) which stores and manages information regarding media content, a connection manager serving to connect the media server to a media renderer, and an AV transport serving to transmit information. Also, a media renderer 7 includes a rendering control performing playback control, a connection manager serving to connect the media renderer to the media server, and an AV transport serving to transmit information.
In an operation of playing back media content, the CP requests information regarding media content from the media server. Then, the media server retrieves the information and transmits it in an XML message to the CP. Upon receiving the XML message, the CP controls the media renderer to play back the media content. However, a conventional UPnP AV device has a problem in that it does not efficiently provide information regarding media content to a media CP or a user.
On a home network, a plurality of media servers providing media content may be located at different places in different types. In this situation, a CP or a user needs to search all of the media server and browse or search media content managed by each media server for desired media content. Thereafter, if the user does not remember the exact location of the desired media content, the above-described operation needs to be repeated to play back the desired media content. In addition, when media content that the user wants to manage on a single list is not included in a single media server but is dispersed in a plurality of media servers, the user cannot operate list management if the CP does not provide a coordination management function.
Further, since it is not guaranteed that a user uses only a particular CP when controlling a plurality of UPnP AV devices, even if the particular control point manages a list of media content items, the user cannot view the list of media content items when he/she uses a CP other than the particular CP.
Moreover, to provide various functions through a home network, each media server on the home network needs to provide the various functions. In other words, if one media server provides browse and search functions and another media server provides only the browse function, a user will encounter the above-mentioned problems.